package org.nothing.ordermaster.service;

import org.nothing.ordermaster.dto.CartDTO;
import org.nothing.ordermaster.entity.ProductInfo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface ProductInfoService {
    /** 根据商品 ID 查询商品信息 */
    ProductInfo findById(String productId);

    List<ProductInfo> findUpAll();

    /** 分页查询所有商品信息列表 */
    Page<ProductInfo> findAll(Pageable pageable);

    /** 新增商品 */
    ProductInfo save(ProductInfo productInfo);

    /** 加库存 */
    void increaseStock(List<CartDTO> cartDTOList);

    /** 减库存 */
    void decreaseStock(List<CartDTO> cartDTOList);

    /** 商品上架 */
    ProductInfo onSale(String productId);

    /** 商品下架 */
    ProductInfo offSale(String productId);
}
